package com.tqyan.dal.mapper;

import com.tqyan.model.dto.ChatDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description 会话
 * <p> <功能详细描述> </p>
 *
 * @author 陈晨
 * @date 2023/4/10 18:20
 */
@Mapper
public interface ChatMapper {

    /**
     * @description 添加
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/10 18:19
     */
    int save(@Param("item") ChatDTO item);

    /**
     * @description 删除会话
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/19 00:34
     */
    int delete(@Param("userId") long userId, @Param("id") long id);

    /**
     * @description ID查询
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/10 18:19
     */
    ChatDTO queryById(@Param("userId") long userId, @Param("id") long id);

    /**
     * @description 查询聊天会话列表
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/10 18:19
     */
    List<ChatDTO> queryListByChat(@Param("userId") long userId);

    /**
     * @description 查询聊天会话
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/10 18:19
     */
    ChatDTO queryByChat(@Param("userId") long userId, @Param("chatId") long chatId);

    /**
     * @description 查询绘画会话
     * <p> <功能详细描述> </p>
     *
     * @author 陈晨
     * @date 2023/4/10 18:19
     */
    ChatDTO queryByDraw(@Param("userId") long userId);

}


